package cn.cqie.frame.controller;


import cn.cqie.frame.bo.query.QueryCourseBo;
import cn.cqie.frame.bo.query.QueryEvaluateTypeBo;
import cn.cqie.frame.entity.EvaluateType;
import cn.cqie.frame.entity.Student;
import cn.cqie.frame.service.EvaluateTypeService;
import cn.cqie.frame.utils.MyPageHelper;
import cn.cqie.frame.vo.CourseVo;
import cn.cqie.frame.vo.ResultVo;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

/**
 * <p>
 * 评价类型 前端控制器
 * </p>
 *
 * @author XYHL
 * @since 2021-10-12
 */
@RestController
@Api("评价管理")
public class EvaluateTypeController {
    @Autowired
    private EvaluateTypeService evaluateTypeService;

    /**
     * 新增/更新评价
     * @param bo
     * @return
     */
    @ApiOperation( "新增/更新评价")
    @PostMapping("/evaluateType/saveOrUpdateEvaluateType")
    public ResultVo<EvaluateType> saveOrUpdateEvaluateType(@Valid @RequestBody EvaluateType bo) {
        EvaluateType evaluateType = evaluateTypeService.saveOrUpdateEvaluateType(bo);
        return ResultVo.success(evaluateType);
    }

    /**
     * 通过id删除对应的评价信息
     * @param evaluateTypeId
     * @return
     */
    @ApiOperation("删除评价信息")
    @DeleteMapping("/evaluateType/deleteEvaluateType/{evaluateTypeId}")
    public ResultVo<Void> deleteMenu(@PathVariable Integer evaluateTypeId) {
        Boolean delete = evaluateTypeService.delete(evaluateTypeId);
        return delete ? ResultVo.success() : ResultVo.error("删除失败");
    }

    /**
     * 分页查询评价信息
     * @param bo
     * @return
     */
    @ApiOperation("查询评价信息分页")
    @GetMapping(value = "/evaluateType/evaluateTypeInfoPage")
    public ResultVo<PageInfo<EvaluateType>> evaluateTypeInfoPage(QueryEvaluateTypeBo bo) {
        return ResultVo.success(MyPageHelper.returnPage(evaluateTypeService.listEvaluateType(bo)));
    }

}

